package iso3.pt.service;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;

import iso3.pt.action.Pair;
import iso3.pt.dao.IncorrectPasswordException;
import iso3.pt.dao.UserNotFoundException;
import iso3.pt.model.Alumno;
import iso3.pt.model.Asignatura;
import iso3.pt.model.Evaluacion;
import iso3.pt.model.Profesor;


public class TestService
{

	/**
	 * @param args
	 */
	public static void main(String[] args)
	{
		PtService service = new PtDaoService();
		
		try
		{
			Profesor profesor = service.getProfesorByDni(1111111);
			
			System.out.println(profesor);
			
			System.out.println(service.getAsignaturasProfesor(profesor.getId()));
			
			Alumno alumno = service.getAlumno(1111);
			
			System.out.println(alumno);
			
			System.out.println(service.getAsignaturas(alumno.getDni()));
			
			System.out.println(service.loginAlumno(Integer.valueOf("1111"), "aaaa"));
		}
		catch (UserNotFoundException e)
		{
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		catch (NumberFormatException e)
		{
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		catch (IncorrectPasswordException e)
		{
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		// Objeto final
		ArrayList<Pair> notas = new ArrayList<Pair>();
	
		// Obtener las evaluaciones
		Set<Asignatura> asignaturas = service.getAsignaturas();
		for (Asignatura asignatura : asignaturas)
		{
			List<Evaluacion> evaluaciones = service.getEvaluacionesAsignatura(asignatura.getId());
			System.out.println("Evaluaciones\n"+evaluaciones);
			for (Evaluacion evaluacion : evaluaciones)
			{
				notas.add(new Pair(asignatura, evaluacion));
			}
		}
		
		System.out.println("NOTAS\n"+notas);

	}

}
